According to conventional strategies, a client device can access web-related content (“consumable content”) using a browser. That is, the browser forwards a request over a network, prompting the network to identify the location of a source of the requested content. The source then transfers the requested content to the client device. The received content is typically expressed in a markup language format, such as the Hyptertext Markup Language (HTML) format, the Dynamic HTML (DHTML) format, and so forth. By way of overview, using a tag-based hierarchical structure, HTML markup identifies components in the consumable content and identifies the manner in which the browser should present these components. Dynamic HTML supplements HTML by including information that also governs the behavior of the consumable content (such as by specifying the behavior of a web page when a user focuses on a link within the web page). Conventionally, the browser renders the received content using a suite of integrated technologies, such as Cascading Style Sheets (CSS) functionality, Document Object Model (DOM) functionality, scripting functionality, and so forth.
FIG. 1 shows a system 100 that represents the above-described traditional solution. In this system 100, a client device 102 transmits a request for consumable content (such as a web page) into a network 104 (such as the Internet). The network 104 resolves the location of the consumable content, which, in this case, corresponds to markup content source 106. In response to the request, the markup content source 106 forwards markup content 108 to the client device 102 via the network 104. The client device 102 includes browser 110 for processing the received markup content 108. The browser 110 can include a CSS engine, a scripting engine, a layout engine, and so forth. Using these tools, the browser 110 converts the markup content 108 into consumable content 112, and presents this consumable content 112 on an output device 114 (such as a computer display device). The presented content can include conventional elements, such as text, images, links, and so forth.
The above solution works well for most client devices, such as personal computers, which receive markup content via the Internet. However, this solution does not provide an optimal solution for all types of client devices. For instance, smaller client devices may have reduced resources, such as reduced memory and/or processor-related resources. Exemplary such “resource-constrained” devices include set-top boxes, personal digital assistants (PDAs), mobile telephones, various kinds of wearable computing devices (e.g., smart watches), and so forth. It may be difficult or impossible to duplicate the full suite of browser tools used in a desktop environment in these types of devices due to memory limitations, processor limitations, and/or any other limitations.
Nevertheless, the above-described approach of forwarding markup code to the client device has become entrenched in the industry. Thus, known attempts to address the above-identified problem do not fundamentally alter this content-delivery paradigm. For example, one proposal is to simplify the markup content before it is forwarded to resource-constrained client devices. One means of accomplishing this simplification is to specify the content in a more restrictive language, such as XHTML (which comprises a more restricted representation of the HTML language using XML). This potentially allows the client device to employ a browser that is correspondingly less complex and which consumes fewer resources compared to its desktop counterpart. But the fact remains that the client device is still wedded to the traditional browser paradigm; namely, a simplified browser is still a browser consuming markup language content (potentially using a scripting engine), and this functionality, albeit simplified, is still resource-intensive.
Another proposal is to enhance the resources of the smaller client devices in a brute force manner, that is, by adding more memory or more powerful processors in these devices. But this strategy is disadvantageous because it may negatively affect the cost (and hence marketability) of these devices. Further, in many cases, a device provider may have invested considerable sums of money to deploy a large number of client devices to the public, and it is not economically feasible to change the hardware of these devices in a substantive manner. This constraint, for example, often applies to providers of set-top boxes.
For at least the above-identified reasons, there is an exemplary need for more satisfactory strategies for providing consumable content to client devices, especially, but not limited to, resource-constrained client devices.